package com.zhb.zhbaiagent.demo.invoke;

import jakarta.annotation.Resource;
import org.springframework.ai.chat.messages.AssistantMessage;
import org.springframework.ai.chat.model.ChatModel;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

/**
 * SPringAI框架调用AI大模型
 */
@Component
//CommandLineRunner的作用是启动时执行，在启动扫描包时会先执行这一bean，只执行一次
public class SpringAIAIInvoke implements CommandLineRunner {
    @Resource
    private ChatModel dashscopeChatModel;

    //使用CommandLineRunner会重写方法，该方法会在启动时被执行
    @Override
    public void run(String... args) throws Exception {
        //调用AI大模型并输出返回结果
        AssistantMessage assistantMessage = dashscopeChatModel.call(new Prompt("你好，我是张三"))
                .getResult()
                .getOutput();
        System.out.println(assistantMessage.getText());
    }
}
